package com.cskaoyan._01basic._09operator;

/**
 * @author Macro_Ray
 * @since 2024/3/2 17:46
 */
//逻辑运算符 短路运算符
public class Demo5 {
    public static void main(String[] args) {
        // 1. & 逻辑与
        // 两边都为真，结果为真
        System.out.println(true & true);
        System.out.println(true & false);

        // 2. | 逻辑或
        // 两边都为假，结果才是假
        System.out.println(true | false);
        System.out.println(false | false);

        // 3. ^ 逻辑异或
        // 相同为false，不同为true
        System.out.println(true ^ true);
        System.out.println(true ^ false);

        // 4. ！ 逻辑非
        System.out.println(!true);
        System.out.println(!false);

        // 短路逻辑运算符
        // &&    ||    !
        // 运行结果和逻辑运算符一样，但具有短路效果，当左边的表达式成立，右边就不会参与运算
        int a = 10;
        int b = 20;
        boolean result = ++a < 5 && ++b < 10;
        System.out.println(a);
        System.out.println(b);
        System.out.println(result);

    }
}
